%introduction
As computational power increases and storage devices become cheaper and bigger, the amount of data that is available for analysis grows rapidly. However, larger sets of data, with ever more measured dimensions and ever denser measurement grids, do not necessarily lead to better insight and more understanding of phenomena. On the contrary, when confronted with large amounts of measurements, for example in huge paper piles of printed tables, getting insight in phenomena is next to impossible. Visualization of data provides insight in large and complicated datasets by means of our visual system that is strongly adapted to detect patterns~\cite{vanwijk2005value}.

The term Scientific Visualization covers a range of techniques that aim to create images from a dataset that convey insight into the phenomenon or process from which the dataset originates~\cite{scivisbookch01,scivisbookch04}. Formally, the visualization function $V$ can, according to van Wijk~\cite{vanwijk2005value} be defined as
\begin{equation}
 I(t) = V(D,S,t)
 \label{eq:visfunction}
\end{equation}
The time-dependent visualization $V$ transforms the dataset $D$ into a time-dependent set of images $I(t)$ according to specification $S$~\cite{vanwijk2005value}. By viewing the resulting image $I$, users should obtain insight in the original data $D$~\cite{scivisbookch04}. Insight can refer to either discovering previously unknown phenomena, or it can mean confirming hypotheses about recorded or simulated phenomena. Next to providing insight, visualization of data is also often a very important tool for communication~\cite{dibiase1992animation}. Since visualization can often offer appealing images, conveying higher level concepts it provides a beautiful and intuitive way to communicate about data for both scientific and business applications~\cite{vanwijk2005value,scivisbookch01}.

Visualization applications often consist of several stages of data
transformation, called \emph{the visualization pipeline}~\cite{scivisbookch04}.
The application we designed is no exception to this. Together, the elements of
the visualization pipeline perform the transformation of the dataset $D$ into
the images $I(t)$. Figure~\ref{fig:vis_pipeline} show the way this pipeline
might enable a user to obtain insight into the original data. The several steps
of the pipeline are discussed in-depth in section~\ref{sec:structure}.

\begin{figure}[]
  \begin{center}
    \includegraphics[width=\textwidth]{./images/vis_pipeline}
  \end{center}
  \caption{The visualization pipeline. Image taken from~\protect{\cite{scivisbookch04}}.}
  \label{fig:vis_pipeline}
\end{figure}

\subsection{Fluid dynamics}
A simulation of fluid dynamics was provided for this assignment. It consists of a physics simulation of a viscous fluid that can be interacted with using the mouse. Three different quantities are measurable from this simulation: the fluid density, the flow vector field, and the force vector field.

In the course of completing this assignment we developed an application that visualizes the data coming from this simulation in multiple ways, providing different types of insight in phenomena that occur in the simulation.

The application provides a lot of user interation, the structure of the application is very modular, so the user can use the application for a wide variety of different visualizations.

\subsection{The structure of this report}
We follow the visualization pipeline from beginning through end and back. The main focus is on the techniques used to visualize scalar and vector data, the design choices made during the process and difficulties in implementation. In section~\ref{sec:datasetrepresentation} we discuss the importing, representation and enriching of the datasets. Section~\ref{sec:scalarvis} contains a description of scalar visualization techniques used, both in 2D and in 3D. In section~\ref{sec:vectorvis}, we discuss vector visualization techniques we used. Finally, in section~\ref{sec:discussion} we discuss the resulting system and remark on possible improvements.
 

